home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_1
/
cp100a.zip
/
CATPORT.DOC
next >
Wrap
Text File
|
1991-12-27
|
26KB
|
690 lines
╒═════════════════════════════╕
│ CatPort Version 1.00 │
╒══════════════╛ ╘══════════════╕
│ Doorfile conversion / control utility for Wildcat! 3.xx │
╘══════════════╕ ╒═══════════════╛
│ (c) 1991 - RhoSoft │
╘════════════════════════════╛
Table of Contents
Introduction...................1
Why CatPort?...................1
Technical description..........2
Legal mumbo-jumbo..............3
Distribution / Registration....3
General operation..............4
Command format.................5
Enhanced options...............5
ASWAP........................5
SLIMIT.......................6
RESTRICT.....................6
TLIMIT.......................6
Usage samples..................7
Error logging..................8
Support........................9
Future features "in the works".9
Registration form..............10
CatPort 1.00 (i)
Introduction
CatPort is a doorfile converter, especially written for Wildcat
version 3.00 and up. What is a doorfile converter? Simply, it is
a program that enables a BBS sysop to run a wider selection of online
programs as external additions to his or her BBS (these programs are
typically referred to as "doors".
Each "brand" of BBS software that supports door programs creates
an file by which it may pass information regarding the on-line caller
to the door program, such as the caller's name, password, amount of
logon time left, and color / graphics preferences. These information
files are typically called door dropfiles.
The basic problem is that most BBS programs create this dropfile in
a format unique to itself. Since there are many BBS packages on the
market, literally dozens of names/formats of door dropfiles exist, all
slightly different from each other. When a programmer writes a door
program, he or she generally cannot take ALL dropfile formats into
consideration, so the program is written to expect a door dropfile that
matches a particular format, or perhaps one of a small selection of
formats. Without a dropfile converter, a door program that was written
to run on an RBBS-PC BBS cannot run on a Wildcat BBS, since RBBS-PC and
Wildcat create different dropfile formats. A dropfile converter reads
the information associated with one particular BBS dropfile format, and
writes the appropriate dropfile fomat that the door program expects to
see. CatPort will read the files produced by Wildcat (these are called
DOOR.SYS and USERINFO.DAT), and create a selected dropfile format from
them.
Why CatPort?
In my attempts to run door programs not written for Wildcat, I
began looking for conversion programs that would read the two files
Wildcat 3 creates and output an appropriate dropfile. After many
failures, I found 2 common problems with most, and decided to code my own.
First, Wildcat 3 uses the brand-new format for DOOR.SYS, arrived at
in July of 1991, and was the first such BBS to do so. This in effect
makes the DOOR.SYS that wildcat creates different in amount of
information from other BBS programs using the same "standard" format.
All dropfile converters I tried that supported the older format failed
due to an inability to handle the extra data in Wildcat's DOOR.SYS.
Second, some programs worked "some of the time" - some users had
problems, others didn't. I finally managed to trace this to the fact
that some of the data Wildcat places in the DOOR.SYS may take multiple
lines - this is something that most other doorfile converters did not
take into effect. The only product I found that always worked was Steve
Cox's excellent LIVECAT door environment, but there were some programs
I wanted to run as DOS hooks, and not include in LIVECAT's menuing
system. For these, LIVECAT was simply "overkill", and since I place
time limit restrictions on games in LIVECAT, these restrictions were
being carried over to non-game programs that I did not want restrictions
placed upon. This meant I could not use LIVECAT for these programs.
CatPort 1.00 (1)
Technical description of CatPort
CatPort is written in Borland Turbo C++, which makes it very
compact and fast. In fact, in most environments, CatPort will perform
its' duties in about 1 second.
CatPort version 1.00 provides the ability to create the following
door dropfiles:
CALLINFO.BBS (Used by doors for Wildcat version 2)
DORINFO1.DEF (Used by doors for RBBS-PC )
CHAIN.TXT (Used by doors for WWIV (see note) )
GAPDOOR.SYS (An older format of DOOR.SYS. Rename to
DOOR.SYS when copying it to the door
program directory. It is called GAPDOOR.SYS
to prevent problems of confusion with WC's
DOOR.SYS)
(Note: WWIV has a very unique way of handling doors, and many doors
written specifically for WWIV rely upon screen i/o routines that
are internal to WWIV, as well as a dropfile. Doors such as these
will not work with just a CHAIN.TXT file, and can not be made to.
they require WWIV. Other doors that support multiple dropfile
formats including CHAIN.TXT usually have no such requirements,
and will work fin with just the CHAIN.TXT that CatPort creates.)
CatPort includes a number of special enhanced options (in the
registered version), which enable the Wildcat sysop to custom-tailor
the data written to the dropfile. These will be explained in detail
later.
Dropfiles created by CatPort have less hard-coded information that
other BBS doorfile converters, and with very few exceptions have NO
blank lines in them. Whenever Wildcat provides the data a dropfile needs,
CatPort uses it, no matter how obscure. This ensures that dropfiles
created by CatPort will work sucessfully as input to nearly every OTHER
doorfile converter, should a format other than one of the internally-
support CatPort formats be required. Of course, it is our wish to add all
typically required formats to CatPort internally, and we actively solicit
submissions of doorfile format structures from door authors or user of
CatPort. However, should a sysop need to create a format that CatPort
does not create itself, they may use any of CatPort's supported output
formats with another doorfile converter to arrive at the desired result
(including doorfile converters that do not work with Wildcat 3!). We
recommend using the CALLINFO.BBS file if it needs to be fed to another
conversion program, as it contains the most complete caller data of the
formats CatPort presently creates.
CatPort 1.00 (2)
Legal mumbo-jumbo
CatPort is guaranteed to do only one thing: take up space on
your disk or diskette. While CatPort has been extensively tested under
many environments without mishap, the author and RhoSoft can not
accept any responsibility or liability for ANY damage to data and/or
equipment that may result from the use of CatPort. By running the program,
the user releases RhoSoft and the author(s) of CatPort from all
potential liability and/or claims as a result of CatPort's use.
Registration / Distribution
CatPort is marketed as SHAREWARE. This means that you are encouraged
to evaluate CatPort for a period of 30 days, after which time you must
either register the product or discontinue its' use. Registration of
CatPort is NOT expensive. CatPort version 1.00 costs 10 dollars (US
funds), and will increase in price as features/functions are added.
Registered users of CatPort are entitled to free program upgrades over
the life of the product, so registering early assures the most for your
money.
Registration of CatPort provides you with a personal registration
id which will "unlock" the enhanced features of the product. In its'
unregistered form, CatPort will read/write dropfiles only. All options
to manipulate data are considered enhanced features. Registered users
may receive support from the RhoSoft staff, as well as provide input
on new features for future releases. Wildcat sysop to custom-tailor
the data written to the dropfile. These will be explained in detail
later.
You are encouraged to distribute copies of CatPort in the original
unaltered archive. You may not, however, distribute registration ids.
The latest version of CatPort is available for network file request
from the support BBS, as well as for download on the Mustang HQ BBS.
CatPort 1.00 (3)
General Operation
CatPort is executed from the node home directory (for multi-node
systems), or from the work directory for a single-line system. This is,
by default, the current directory when Wildcat executes a door or menu
hook batch file. CatPort requires the following four files to be present
for operation:
CATPORT.EXE (Can be anywhere in the DOS path)
CATPORT.CFG (Can br anywhere in the DOS path)
DOOR.SYS (Created by WC in the node/work directory)
USERINFO.DAT (Created by WC in the node/work directory)
If any of the last three files are missing, Catport will cease operation.
CATPORT.CFG:
CatPort requires the presence of a file called CATPORT.CFG, which
must be locally created, and must exist somewhere in the DOS path for
the system CatPort is running on. A sample CFG file, called CATPORT.SMP,
is provided with the distribution archive. Its' format is as follows:
line 1: BBS Name
Line 2: Sysop's first name
Line 3: Sysop's last name
Line 4: CatPort registration id
-------------------------------- (lines below line 4 are ignored)
All information must be provided, as some door dropfiles require
the sysop's name or BBS name. If CatPort determines the registration
id to be invalid, the enhanced options will be disabled, so any info
can be entered in this field prior to registering CatPort.
CatPort controls execution via DOS errorlevels, so your BAT file
will need to check for these errorlevels. The errorlevels CatPort
returns are:
Errorlevel 255 = File missing, read/write error, internal CatPort error.
Errorlevel 60 = Caller rejected due to RESTRICT setting.
Errorlevel 50 = Caller rejected due to SLIMIT setting.
Errorlevel 40 = ASWAP specified, but no alias exists for caller.
Sucessful execution results in CatPort exiting with an errorlevel equal
to the command line parameter for the BBS dropfile that CatPort was
requested to create. At present, these are:
Errorlevel 3 = GAPDOOR.SYS Created sucessfully.
Errorlevel 2 = CHAIN.TXT Created sucessfully.
Errorlevel 1 = DORINFO1.DEF Created sucessfully.
Errorlevel 0 = CALLINFO.BBS Created sucessfully.
CatPort 1.00 (4)
Command format
All CatPort functions are specified as command-line parameters.
The basic command line format to invoke CatPort is as follows:
Catport x d:\path\ option1 option2 etc
In the above example,
x = The identifier for the dropfile format required
0 = CALLINFO.BBS
1 = DORINFO1.DEF
2 = CHAIN.TXT
3 = GAPDOOR.SYS
Any number greater than 3 , or any other non-valid
identifier results in an abnormal exit with errorlevel 255.
d:\path\ = The COMPLETE drive/path (WITH TRAILING BACKSLASH) where the
selected door dropfile is to be written. For example,
e:\bbs\doors\yt\ would be a valid parameter. NOTE! Failure to
include the trailing backslash will result in the selected
dropfile being improperly named, or being written to the wrong
subdirectory. YOU SHOULD NOT SPECIFY THE DROPFILE NAME ON
THIS PARAMETER.
option1 = Enhanced options you wish to use. These may be in any order,
option2 and multiple options may be specified.
etc
Enhanced options (available in registered versions only)
ASWAP
Catport allows you to write the door dropfile using the callers'
alias rather than their real name. This allows the sysop to make a door
program "anonymous" by nature, especially if the door does not allow for
handles or nicknames to be selected internally. If the caller does not
have an alias established, CatPort will exit with an errorlevel of 40,
AND WILL NOT WRITE THE DOOR DROPFILE. The controlling door .BAT file
may then exit based upon this errorlevel.
Note to users of DORINFO1.DEF: The defined standard for DORINFO1.DEF is
based upon a "First name, Last name" methodology. Therefore, aliases
using less than 2 words will result in a BLANK last name, and aliases
using more than 2 words will result in a TRUNCATED name (IE, a caller
with an alias of "The Lone Ranger" will appear in DORINFO1.DEF as
simply "firstname = THE, lastname = LONE".
CatPort 1.00 (5)
SLIMIT xxxx
You may instruct CatPort to only permit a caller access to a door
if their security level is higher than (or equal to) the one specified
following the SLIMIT keyword (xxxx). If a caller with a security
level below the SLIMIT value attempts to run use the door, CatPort will
exit with an errorlevel of 50 AND WILL NOT WRITE THE DOOR DROPFILE.
The controlling door .BAT file may then exit based upon this errorlevel.
SLIMT expects a following keyword value of from 1-9999.
RESTRICT xxxx
RESTRICT is very similar to SLIMIT, except that it only permits a
caller to access the door if their security level is EQUAL to the one
specified following the RESTRICT keyword (xxxx). If the callers' security
level does not match, CatPort will exit with an errorlevel of 60 AND WILL
NOT WRITE THE DOOR DROPFILE. The controlling door .BAT file may then exit
based upon this errorlevel. RESTRICT expects a following keyword value of
from 1-9999.
TLIMIT xxx
You may instruct CatPort to allow a maximum period of time in a door
for a caller by using the TLIMIT function. TLIMIT expects a following
keyword equal to the maximum time allowed for the door being run. If the
callers' logon time for the day is more than the TLIMIT value, the output
door dropfile will be written showing the user with the value of TLIMIT
as time remaining for the day. IN NO CASE WILL USING TLIMIT ALTER THE
CALLERS ACTUAL LOGON TIME REMAINING FOR THE BBS. If the caller has less
logon time left than the limit specified, the actual logon time left will
be written to the door dropfile. USING TLIMIT WILL NEVER INCREASE THE
AMOUNT OF LOGON TIME A CALLER HAS. Note that TLIMIT implies a "per play"
time restriction, and not a "per day" limit. A caller can conceivably
re-run the door after their TLIMIT time has expired, providing they have
adequate logon time remaining on the BBS.
CatPort 1.00 (6)
Usage Samples
The following samples give an idea of how you would execure CatPort
in a door .BAT file:
Case 1: Create callinfo.bbs, in directory c:\bbs\yt\.
CatPort 0 c:\bbs\yt\
Case 2: Create Chain.txt, in directory F:\bbs\wwiv\, forcing name use.
CatPort 2 f:\bbs\wwiv\ ASWAP
Case 3: Create Gapdoor.sys in directory e:\game\, forcing time limit.
CatPort 3 e:\game\ TLIMIT 30
Note: Enhanced options may be combined, but are ignored in unregistered
versions of CatPort.
Note for users of GAPDOOR.SYS
Catport creates the "older" version of DOOR.SYS, and gives it a
unique name, using GAPDOOR.SYS, in order for it to be kept distinct from
Wildcat's own, but different, DOOR.SYS. In order to actually use the file
for a door game requiring the older DOOR.SYS, YOU MUST RENAME GAPDOOR.SYS
TO DOOR.SYS IN THE DIRECTORY WHERE CATPORT WRITES IT. This can be done in
your .BAT file as shown:
@echo off
CatPort 3 c:\wc\gapgame\
If errorlevel 255 goto error
cd \wc\gapgame
copy gapdoor.sys door.sys ( or DEL DOOR.SYS and RENAME GAPDOOR.SYS DOOR.SYS)
playgame
:error
cd \wc30
CatPort 1.00 (7)
Note for users of enhanced options:
In order to effectively use SLIMIT and RESTRICT, you must make your
.BAT file aware of the rejection errorlevels. The following sample
DOOR.BAT file assumes that the caller is on COM1, and uses both SLIMIT
and RESTRICT options in the CatPort call. While this is technically
possible, it is redundant, and in practice you will never need to specify
both options.
@echo off
CatPort 1 c:\wc30\door\yt\ ASWAP SLIMIT 100 RESTRICT 200
If errorlevel 255 goto fail
If errorlevel 60 goto R_reject
If errorlevel 50 goto S_reject
If errorlevel 40 goto A_reject
cd \wc30\door\yt
yt
goto end
:fail
Echo An error has occurred. Please notify sysop! > COM1:
goto end
:R_reject
Echo Your security level does not match required level for door. > COM1:
goto end
:S_reject
Echo Your security level is not high enough for this door. > COM1:
goto end
:A_reject
Echo You do not have an alias defined, and can not use this door. > COM1:
goto end
:end
cd \wc30
Error logging
CatPort will write an error log each time the program fails for some
reason, called CATPORT.LOG, in the same directory CatPort is run from.
Each error entry is date/time logged. This file should be checked
occasionally and "pruned" as needed to prevent it from growing too large.
a seperate CATPORT.LOG will exist in the node work directory of each
node on a multi-node system. If CatPort generates an errorlevel exit,
or a user is rejected due to an enhance option limitation, it will be
logged here. If CatPort cannot create/update the log file, processing
will continue without error logging.
CatPort 1.00 (8)
Support for CatPort:
CatPort is supported for registered users on the Walden Puddle BBS
at (607) 687-6193/6049, and also via netmail to RhoSoft at 1:260/450
via FIDOnet, 26:1607/100 via Signet, or 100:910/0 at Magnet. Mail
from unregistered users is also welcome, although guarantees of speedy
replies can not be made. We DO, however, take out products seriously,
and will act promptly on all major bug reports, no matter how reported
or by whom. Implementation of suggestions for improvment from registered
users will take precedence over unregistered users.
We also maintain a presence on the Mustang Software HQ BBS, thanks
to Kevin Brokaw, sysop of the Walden Puddle BBS. Please address mail
regarding CatPort to him when using the Mustang HQ BBS.
Future features "in the works"
We plan on adding additional function to CatPort in the near future,
most significantly communications routines to signal to the caller
directly when their door session is rejected due to enhanced option
limitations, as well as many more door dropfile formats, and a "1 play per
day" feature. CatPort version 2 will contain the above and more, and
will also carry a price increase, so if you wish to consider registering,
do it now, and receive updates for free.
CatPort 1.00 (9)
REGISTRATION PROCESS FOR CatPort Version 1
Please complete the registration form to register CatPort V1. This
will entitle you to free program updates for the life of the Product.
Updates to the product may be downloaded from the Walden Puddle BBS,
Mustang HQ BBS, or file-requested from the network addresses listed in
this DOC file under "Support" by the "Magic" name CATPORT.
You will have a userid created for you on the Walden Puddle BBS, using
a password you provide below. Your CatPort ID will be mailed to you upon
clearance of your check, or immediately upon receipt of a money order.
It will also be posted in a private message on the Walden Puddle BBS
on the same day, if you should wish to obtain it in that manner.
The latest (or next) version of CatPort can be mailed to you on
diskette for an additional charge. Please see order info.
Please complete, print, and mail the next page,
along with the proper amount in US funds
(check or Money order, please.. not responsible for
cash sent in the mail!) to:
Lee DeBrouchard
C/O The Walden Puddle BBS
1026 Day Hollow Rd
Owego, NY 13827
USA
-----------------------------------------------------------------------------
CatPort Registration - please print, complete, and mail
NOTE! After 02/01/92, please obtain latest version of CatPort,
as this registration form/price is invalid beyond that date.
Registrations received after 02/15/92 may not be accepted,
as the initial 10 dollar registration fee is for a limited
time only!
Mail to: Lee DeBrouchard
C/O The Walden Puddle BBS
1026 Day Hollow Rd
Owego, NY 13827 USA
Registering Sysops's Name ______________________________________________
(Will be used to set up account on support BBS)
Password requested ______________________________________________
(Will be used to set up account on support BBS)
Registering Sysops's Address ___________________________________________
___________________________________________
___________________________________________
BBS CatPort is registered to __________________________________________
(Note: Must EXACTLY match BBS name as you put
it in Catport.cfg - INCLUDING upper/lower
case letters)
Wildcat Registration # __________________________________
CatPort version you posess (can be found by issuing CATPORT ?) _________
CatPort 1.00 Early Registration __$ 10.00__
Latest/Next CatPort on Disk
Add 2.50 for 5.25 inch
3.00 for 3.5 inch ___________
(U.S. users only)
Total amount enclosed ___________
(In Check or Money order,
Payable to Lee DeBrouchard,
in U.S. Funds)